We Are JavaScripters! @26th
https://gyazo.com/39fe6f89f16de682523b6545d783ad6a
2018/11/22
祝・2周年記念!
趣旨
聞くだけじゃなく登壇することで知識を増やしたり広げていこう
全員登壇していこう
飲酒できる
🍺🍺🍺🍺🍺🍺🍺🍺🍺🍺
結果がわからなくても良い値へのプロキシ
成功・失敗ハンドラーを関連付ける
メリット
実装してみる
関数は結果を通知するためのresolveとrejectを引数にもつ
resolve 成功
reject 失敗
executorはすぐ実行される
状態遷移
pending
fulfilled(成功)
rejected(失敗)
プロパティ
status
value
handlers
成功した時、失敗したときの関数のペアを関数で渡す
コンストラクタ
プロパティの初期化
引数で渡ってきたexecutorを実行
thenがややこしかった
ハンドラのペアを登録しつつ、新しいPromiseを返す
2つポイントがある
すでに完了済みか
Primiseオブジェクトでrejectするか?
まとめ
機能自体はシンプルだけど中身はそこそこ複雑だった
setStatusを使った更新処理
イベントトリガーにしたUI描画などに使う
やりすぎると無法地帯に
まとめ
入力値管理を楽にする
HOCとRender Propsは分ける
setValuesやstatusなどの他のフォーム系ライブラリにはない表現力がある
@MitsuruHashimoto
自由度が高い
middleware
モデル
コントローラー
View
リテレーションだけ違う
apiモードもある
origin: true
LT4: Higher-Order Function 〜関数型に憧れて〜
なぜ関数型を学ぶべきか
コードのバグがすくなくなる
理解しやすい
再利用できる
関数を値として扱う
無名関数として渡すのはJSのみ
別の関数にも渡せる
関数を合成できる
Array.prototype.filter()
forループよりも行が少ない
小さい関数を複数合成して大きい関数を作るといい
LT5: Elm Meets JavaScript Libraries
https://gyazo.com/84c31258976078be7b1b00601a47a97a
updateやviewは純粋な関数
再現性があるのでテストが簡単
常に同じ=アプリとして無意味
Cmd / Sub
状況に応じた動作の変更は必須
Cmd
updateの際に外部に向かって通信をおこなう
Sub
外部からやってくるMsgを待ち受ける
LT6: スポンサーLT
LT7: KARTE管理画面のパフォーマンス改善〜計測・監視に関してやろうとしていること〜 やりたいこと
管理画面の体感パフォーマンスを改善したい
動機:ユーザーを第一に考えたい
目的をスムーズに達成できるようにする
UX向上
やってること
属人的になりがち
クライアントFB
クライアントよりはやく気付きたい
メトリクス監視・改善
ユーザーが体験するパフォーマンスと定量的な実測値とが紐付かない
目指す目標
ユーザーの体験に直結した完全
インパクトの高い問題から改善
パフォーマンス悪化に気づける
計測・監視
メトリクス
計測方法
計測対象のタイミング
様々な環境・データに対していろんなタイミングで計測
監視方法
LT8: WebARのコンテンツを2週間で作って1200人に遊んでもらった話
一般のARの認知率は34%
Webサービスで事業化して認知してもらう
1000人のユーザーにWeb ARを使わせてみよ
ゲームをつくってみよう
ビンゴゲームをつくった
マーカースキャン
宝箱が出る(お金が出る)
ビンゴが埋まる
構成
Firebase
TS React.js
three.js
Redux
jsartoolkit
Sentry
Circle CI
カメラがつらい
httpsのみでしかアクセスできない
解像度がわからない
iOSデバッグがつらい
テストもつらい
iOSつらい
ユーザーつらい
yamanoku.icon 登壇
LT10: Promise -> コールバック地獄 -> Async/Await
非同期処理について
コールバック地獄の開放
asyc/await
Promiseベース
ソースコードが完結
エラー処理が楽
LT11: ArrayとSetの話
Array
要素の順序に意味がある
値は重複する時
Set
順序に意味がない
値が重複しない
for ... of構文で走査できる
Map
ArrayとSetは相互変換できる
LT12: 2周年なのでWeJS2年目の振り返り
2017/12/21〜2018/11/22
880人参加
登壇ランキング
1. @brn0227
2. @camcam_lemon
2. @boiyaa
一番話されたLTテーマ
https://gyazo.com/76e98784149167387d53fe51a22ef93c